package com.czmh.etc.onlinepubsys.request.mingchuang;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.czmh.etc.onlinepubsys.constants.mingchuang.CertifiType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Setter@Getter
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("ETC申请请求参数")
public class EtcApplyReqest {
    private String clientNo; //网点编号

    private String optBy; //开户操作人

    private Integer accountType = 23; //账户类型，应传默认值23-记账账户
    //private Integer accountType = 22; //账户类型，应传默认值22-储值卡

    @ApiModelProperty("证件类型 值见附录")
    private Integer certifiType = CertifiType.CERTIFI_TYPE_ID; //证件类型

    @ApiModelProperty("证件号")
    private String certifiNo; //证件号

    @ApiModelProperty("用户类型 0-个人 1-企业")
    private Integer ownerType; //用户类型 0-个人 1-企业

    @ApiModelProperty("账户名称")
    private String accountName; //账户名称

    @ApiModelProperty("手机号码")
    private String mobile; //手机号码

    @ApiModelProperty("通讯地址")
    private String address; //通讯地址

    @ApiModelProperty("部门/分公司 个人写测试 单位写开发")
    private String department; //部门/分公司

    @ApiModelProperty("经办人姓名 企业用户必填")
    private String agentName; //经办人姓名

    @ApiModelProperty("经办人证件类型 企业用户必填")
    private Integer agentIdType; //经办人证件类型

    @ApiModelProperty("经办人证件号 企业用户必填")
    private String agentIdNum; //经办人证件号

    @ApiModelProperty("单位证件照url 调用文件上传接口返回 企业用户必填")
    private String certImg; //单位证件照url

    private String enterpriseName; //企业名称

    private String enterpriseNo; //营业执照号

    @ApiModelProperty("证件正面照url 调用文件上传接口返回")
    private String agentFrontImg; //证件正面照url

    @ApiModelProperty("证件背面照url 调用文件上传接口返回")
    private String agentBackImg; //证件背面照url

    @ApiModelProperty("用户ID")
    @JSONField(serialize = false)
    private String userId; //用户ID

    @TableField("附加信息请求参数")
    @JSONField(serialize = false)
    private ApplyExtInfo applyExtInfo;//用于存放额外的信息，例如阿里云图片
}
